import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IOfflineExpPrx } from "./IOfflineExpPrx";
import { AMI_IOfflineExp_getOfflineTime } from "./AMI_IOfflineExp_getOfflineTime";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IOfflineExp_offlineExp } from "./AMI_IOfflineExp_offlineExp";
type int = number;
//class IOfflineExpPrxHelper
    
    export  class IOfflineExpPrxHelper extends RMIProxyObject implements IOfflineExpPrx
    {
        constructor()
        {
            
            super();name = "IOfflineExp";
            return;
        }

        public getOfflineTime_async(arg1: AMI_IOfflineExp_getOfflineTime): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getOfflineTime");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public offlineExp_async(arg1: AMI_IOfflineExp_offlineExp, arg2: int, arg3: int, arg4: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("offlineExp");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeBool(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IOfflineExp";
    }
